﻿using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using VisionCloud.Domain.DtoModel.Inner;

namespace VisionCloud.Domain.DtoModel.Schedule.ProjectInfo
{
    /// <summary>
    /// FMS推送集团项目主数据
    /// </summary>
    public class ProjectSyncFmsDto : ProjectDCRspDataBaseDto
    {
        /// <summary>
        /// 项目名称
        /// </summary>
        public string projectName { get; set; }

        /// <summary>
        /// 项目编码
        /// </summary>
        public string projectCode { get; set; }

        /// <summary>
        /// FMS的项目Id
        /// </summary>
        [JsonProperty("id")]
        public string MapProjectId { get; set; }

        ///// <summary>
        ///// 区域公司
        ///// </summary>
        //public string RegionalCompany { get; set; }

        /// <summary>
        /// 省份
        /// </summary>
        public string provinceName { get; set; }

        /// <summary>
        /// 城市
        /// </summary>
        public string cityName { get; set; }

        /// <summary>
        /// 区域
        /// </summary>
        public string districtName { get; set; }

        /// <summary>
        /// 地址
        /// </summary>
        public string location { get; set; }

        ///// <summary>
        ///// 描述
        ///// </summary>
        //public string Description { get; set; }

        ///// <summary>
        ///// 纬度坐标
        ///// </summary>
        //public double Longitude { get; set; }

        ///// <summary>
        ///// 经度坐标
        ///// </summary>
        //public double Longitude { get; set; }

        /// <summary>
        /// 中心点坐标
        /// </summary>
        public string center { get; set; }

        /// <summary>
        /// 楼栋信息
        /// </summary>
        public List<ProjectBuilding> Buildings { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime createdTime { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? updatedTime { get; set; }

        /// <summary>
        /// bdc项目编码（集团项目编码）
        /// </summary>
        public string bdcProjectCode { get; set; }

        /// <summary>
        /// BDC项目名（集团项目名称）
        /// </summary>
        public string bdcProjectName { get; set; }
    }

    /// <summary>
    /// 楼栋信息
    /// </summary>
    public class ProjectBuilding
    {
        /// <summary>
        /// 楼栋号
        /// </summary>
        public string buildingName { get; set; }

        /// <summary>
        /// 楼栋编号
        /// </summary>
        public string buildingCode { get; set; }

        /// <summary>
        /// 楼高
        /// </summary>
        public int totalFloors { get; set; }


        /// <summary>
        /// 集团楼栋名称
        /// </summary>
        public string bdcBuildingName { get; set; }

        /// <summary>
        /// 集团楼栋编码
        /// </summary>
        public string bdcBuildingCode { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime createdTime { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? updatedTime { get; set; }

        /// <summary>
        /// 楼层信息
        /// </summary>
        public List<FloorWorkOrder> Floors { get; set; }
    }

    /// <summary>
    /// 楼层工单信息
    /// </summary>
    public class FloorWorkOrder
    {
        ///// <summary>
        ///// 工单Id
        ///// </summary>
        //public string BpsTaskId { get; set; }

        /// <summary>
        /// 楼层号
        /// </summary>
        public string floorName { get; set; }

        /// <summary>
        /// 楼层编号（集团楼层编码）
        /// </summary>
        public string floorCode { get; set; }

        /// <summary>
        /// 是否标准层
        /// </summary>
        public bool isStandardLayer { get; set; }

        ///// <summary>
        ///// 分户名称 A户型、B户型
        ///// </summary>
        //public string HouseTypeName { get; set; }

        /// <summary>
        /// 层高
        /// </summary>
        public float? floorHeight { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime createdTime { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? updatedTime { get; set; }
    }
}
